/**
 * Created by Mr.Xing on 2018/10/23.
 */
mini.parse();

$(function () {
    formInit();
})

var tableId = [];

//获取表单数据
function formInit(){

    var form_name = "测试表单1";//从表格获取的需要显示的表单名字
    var url = "http://192.168.178.160:8080/bpm/formltems/findByFormName.do";
    $.ajax({
        type : 'post',
        url : url,
        data : {
            formName : form_name
        },
        dataType : 'json',
        success : function (data) {
           Rendering(data);
           console.log(data);
            // cEditCss: "1"
            // cFormName: "测试表单1"
            // cItemType: "1"
            // cLadText: "测试列2"
            // cRefObj: "1"
            // cTableField: "test_table_code"
            // cTableName: "test_table_1"
            // cType: "text"
            // iConX: 100
            // iConY: 200
            // iLabHeight: 30
            // iLabWidth: 60
            // iWidth: 260
            // id: 20
            // layoutMode: 1
        },
        error : function (message) {
            // console.log(message);
        }
    })
}

function Rendering(data){

    var data = data.data;
    var d = data.length;
    var arr1 = [];      //接收表单
    var arr2 = [];      //接收数据表
    for(var z = 0; z < d; z++){
        if(data[z].layoutMode == 1){
             arr1.push(data[z]);
        }else if(data[z].layoutMode == 2){
            arr2.push(data[z]);
        }
    }
    console.log(arr2);

    //表标题
    $("#formName").append("<h1 id='"+ data[0].cTableName +"'>"+ data[0].cFormName +"</h1>");

    //表单text框
    for(var x = 0; x < arr1.length; x++){
        var cFormName = arr1[x].cFormName;
        var cEditCss = arr1[x].cEditCss.cls;
        var cItemType = arr1[x].cItemType;
        var cType = arr1[x].cType;
        var cLadText = arr1[x].cLadText;
        var cTableField = arr1[x].cTableField;
        var cTableName = arr1[x].cTableName;
        var iConX = arr1[x].iConX;
        var iConY = arr1[x].iConY;
        var iLabWidth = arr1[x].iLabWidth;
        var iWidth = arr1[x].iWidth;
        var iLabHeight = arr1[x].iLabHeight;
        var inputWidth = iWidth - iLabWidth;
        var layoutMode = arr1[x].layoutMode;
        var id = cTableField;
        //输入框字符串
        var str = "<div id='"+id +"'  style='display:flex;flex-direction: row;width:" + iWidth +"px;height:"+ iLabHeight +"px;position: absolute;left: "
            + iConX + "px;top: " + iConY + "px'><span style='diplay：inline-block;width: "+iLabWidth+"px;height: "+ iLabHeight +"px'>"+ cLadText +
            ":</span><input id="+id+" name='"+ cTableName +"'  type='"+ cType +"' visible='true' class='' style='width:"+inputWidth+"px; height:"+ iLabHeight +"px;'/></div>";

        //上树
        $("#formField").append(str);
    }
    //数据表
// <div id="datagrid1" class="mini-datagrid" style="width:700px;height:280px;"
//     allowCellEdit="true"allowCellSelect="true"
//         >
//         </div>
    for(var y = 0; y < arr2.length; y++){
        //坐标数据
        var iConX = arr2[y].iConX;
        var iConY = arr2[y].iConY;
        var tableId = arr2[y].cTableName;
        var tWidth = arr2[y].iWidth;
        //解析json
        var tableDetailed = arr2[y].cRefObj;
        var table = JSON.parse(tableDetailed);

        //表结构字符串
        var str1 = "<table id="+tableId+" border='1' style='border-collapse:collapse;left: "+ iConX +"px;top: "+ iConY +"px;width: "+tWidth+"px;'><tr>";
        var a = table.tableDetailed.length;

        var str3 = "";
        var tableArr = [];
        var tableObj = {};
        for (var k = 0; k < a; k++){
            str1+="<th width='"+ table.tableDetailed[k].width +"'>"+ table.tableDetailed[k].formField +"</th>";
            str3+="<td width='"+ table.tableDetailed[k].width +"'><input type='text' name='"+tableId+"' id='"+table.tableDetailed[k].tableField+"' style='border:none'/></td>"

        }
        str1+="</tr><tr class='tr2'>"+ str3 +"<tr><tr class='tr2'>"+ str3 +"<tr><tr class='tr2'>"+ str3 +"<tr></table>";

        //上树
        $("#formField").append(str1);
    }


    // for(var y = 0; y < arr2.length; y++){
    //     var str = "<div id='datagrid1' class='mini-datagrid' style='width:700px;height:280px;'allowCellEdit='true' allowCellSelect='true' ></div>";
    //
    //     var formGrid = new mini.Form("formField");
    //     var i = 9;
    //     formGrid.render(str);
    //     var grid = mini.get("datagrid1");
    //     grid.set({
    //         columns: [
    //             { type: "indexcolumn" },
    //             { field: "loginname", width: 120, headerAlign: "center", allowSort: true, header: "员工账号", editor: { type: "textbox", minValue: 0, maxValue: 200, value: 25} },
    //             { field: "age", width: 100, headerAlign: "center", allowSort: true, header: "年龄", editor: { type: "spinner"} },
    //             { field: "birthday", width: 100, headerAlign: "center", dateFormat: "yyyy-MM-dd H:mm", allowSort: true, header: "生日", editor: { type: "datepicker"} },
    //             { field: "remarks", width: 120, headerAlign: "center", allowSort: true, header: "备注", editor: { type: "textarea"} },
    //             { field: "gender", type: "comboboxcolumn", autoShowPopup: true, width: 100, headerAlign: "center", header: "性别", editor: { type: "combobox", data: Genders} },
    //             { field: "country", type: "comboboxcolumn", width: 100, headerAlign: "center", header: "国家", editor: { type: "combobox", url: "../data/countrys.txt"} },
    //             { field: "married", trueValue: 1, falseValue: 0, type: "checkboxcolumn", width: 60, headerAlign: "center", header: "婚否" }
    //         ]
    //     });
    //     grid.load();
    // }

}

function newObj(tableName,obj){
    this.tableName = tableName;
    this.obj = {};
}

function formAdd(){

    var obj = [];

    $("input").each(function(i){

        var tableName = $(this).attr("name");
        var tableId = $(this).attr("id");
        var tableVal = $(this).val();
        var str = $(this).attr("name") + "," + $(this).attr("id") + "," + $(this).val();
        var newobj = new newObj($(this).attr("name"),$(this).attr("id") + ":" + $(this).val());
        obj.push(newobj);

    });

    var o = JSON.stringify(obj);

    var url = "http://localhost:8080/bpm/dbsource/dbInsert.do";
    $.ajax({
        type : 'post',
        url : url,
        dataType : 'json',
        data : {
          //  tableName : tableName,
            obj : o
        },
        success : function (data) {
            console.log(data);
        },
        error : function () {

        }
    })
}

// obj = [
//     {
//         "tableName": "test_table_1",
//         "obj" : {
//             "test_table_code":"测试类code",
//             "test_table_name":"测试类name",
//             "test_table_pwsd":"测试类pwsd"
//         }
//     },
//         {
//             "tableName" : "test_table_2",
//             "obj" : {
//                 "test_table_2_name" : "测试表2名称1"
//             }
//         },
//         {
//             "tableName" : "test_table_2",
//             "obj" : {
//                 "test_table_2_name" : "测试表2名称2"
//             }
//         }
//
//     ]

// [{
//     "tableName": "test_table_1",
//     "obj": "test_table_name:测试类name"
// }, {
//     "tableName": "test_table_1",
//     "obj": "test_table_code:测试类code"
// }, {
//     "tableName": "test_table_2",
//     "obj": "test_table_2_name:测试表2名称1"
// }, {
//     "tableName": "test_table_2",
//     "obj": "test_table_2_name: 测试表2名称2"
// }]

// 0:
// cEditCss: "mini-datepicker"
// cFormName: "测试表单1"
// cItemType: "1"
// cLadText: "测试列1"
// cRefObj: "1"
// cTableField: "test_table_name"
// cTableName: "test_table_1"
// cType: "text"
// iConX: 150
// iConY: 100
// iLabHeight: 30
// iLabWidth: 60
// iWidth: 260
// id: 19
// layoutMode: 1
// __proto__: Object
// 1:
// cEditCss: "1"
// cFormName: "测试表单1"
// cItemType: "1"
// cLadText: "测试列2"
// cRefObj: "1"
// cTableField: "test_table_code"
// cTableName: "test_table_1"
// cType: "text"
// iConX: 100
// iConY: 200
// iLabHeight: 30
// iLabWidth: 60
// iWidth: 260
// id: 20
// layoutMode: 1
// __proto__: Object
// 2:
// cEditCss: "1"
// cFormName: "测试表单1"
// cItemType: "1"
// cLadText: "测试表体"
// cRefObj: "{"tableDetailed":[{"tableName":"test_table_2","tableField": "test_table_2_id","formField":"测试列id","line": "1","width": "100"},{"tableName" : "test_table_2","tableField": "test_table_2_name","formField":"测试列名称","line":"1","width"     : "100"}]}"
// cTableField: ""
// cTableName: "test_table_2"
// cType: "table"
// iConX: 100
// iConY: 300
// iLabHeight: 60
// iLabWidth: 0
// iWidth: 200
// id: 25
// layoutMode: 2
// __proto__: Object
// 3:
// cEditCss: "1"
// cFormName: "测试表单1"
// cItemType: "1"
// cLadText: "测试表体"
// cRefObj: "{"tableDetailed":[{"tableName":"test_table_2","tableField": "test_table_2_id","formField":"测试列id","line": "1","width": "100"},{"tableName" : "test_table_2","tableField": "test_table_2_name","formField":"测试列名称","line":"1","width": "100"}]}"
// cTableField: ""
// cTableName: "test_table_3"
// cType: "table"
// iConX: 100
// iConY: 400
// iLabHeight: 60
// iLabWidth: 0
// iWidth: 200
// id: 26
// layoutMode: 2
// __proto__: Object
// length: 4
// __proto__: Array(0)